const path = require('path');
const mime = require('mime');
const fs = require('fs');

function myReadFile(file) {
    return new Promise((resolve, reject) => {
        fs.readFile(file, (err, data) => {
            console.log('readFile33', data);
            if (err) {
                resolve('你访问的没有文件夹');
            } else {
                resolve(data);
            }
        })
    })
}


async function readStaticFile(filePathname, res) {
    let ext = path.parse(filePathname).ext; // 获取 后缀类型
    let mimetType = mime.getType(ext) || 'text/html'; // 响应类型
    let data = '';

    // fs.existsSync(filePathname) 判断文件是否存在
    if (fs.existsSync(filePathname)) {
        console.log('路径', filePathname);
        // 判断是文件还是文件夹，根据有无扩展名判断
        // ext = true 是文件
        if (ext) {
            // 文件
            data = await myReadFile(filePathname) // 你访问的文件
            console.log('文件', data);
        } else {
            // 目录
            data = await myReadFile(path.join(filePathname, '/index.html'))
            console.log('目录', data);
        };
    } else {
        console.log('file no found ');
    }
    return {
        mimetType, // 返回 响应类型
        data // 返回 相应数据
    };
};

module.exports = readStaticFile; // 导出

